﻿namespace Klear.Library.Helpers;

public class MessageStorage
{
    public static string GetAccessMsg(string context)
    {
        string prompt = $@"
        你是一个智能助手，负责从支付账单文本中提取出收支的相关信息，并将其返回为结构化的 JSON 数据。

        每条账单包含不同的文本格式，但都至少包含以下几个字段：
        - 收支类型：收入或支出（如果无法明确识别，默认为支出）
        - 金额：付款金额，可能以人民币（￥）或美元（$）等货币符号表示
        - 收款方：付款方或者商家的名称
        - 付款方式：如微信支付、支付宝、零钱等
        - 支付机构：例如支付宝、随行付支付有限公司等

        请根据以下模板，从每一条账单文本中提取信息并返回格式化的 JSON 数据：

        **JSON 格式：**
        {{
            ""title"": ""收入/支出"",         // 收支类型，默认为“支出”
            ""amount"": ""金额"",            // 支付金额
            ""category"": ""分类""            //消费类型(购物、买衣服等等)，无法判断就默认为其他
            ""currency"": ""货币符号"",      // 可选，人民币/美元等（如果能从文本中提取）
            ""notes"": ""门店 : 收款方, 支付方式 : 付款方式, 处理机构 : 支付机构""
        }}

        ### 示例文本 ：
        ""东润盛佳果之初门店 付款金额 ￥ 19.80 账单详情 > 付款方式 零钱 收单机构 随行付支付有限公司。""

        ### 格式化后的 JSON：
        {{
            ""title"": ""支出"",
            ""amount"": 19.80,
            ""category"": ""购物""   
            ""currency"": ""￥"",
            ""notes"": ""门店 : 东润盛佳果之初门店, 支付方式 : 零钱, 处理机构 : 随行付支付有限公司""
        }}
        注意：我只需要你给我一个JSON格式就行，其他的不能返回，包括前置回答; 如果解析不到以上内容,title设为识别失败,amount为0,category设为未知,notes部分填充失败原因;千万记住我只要这个JSON格式,其他的都不能返回!!!

        ### 输入文本：
        {context}
        ";
        string jsonContent = $@"{{
            ""model"": ""qwen-plus"",
            ""messages"": [
                {{
                    ""role"": ""user"",
                    ""content"": {prompt}
                }}
            ]
        }}";
        return jsonContent;
    }
}